package enum

// 定义全局类型
type GoMessageType int8

// iota 常量标识符
// 自动递增：iota 从 0 开始，在常量声明中每出现一次自动加 1
// 重置规则：每个 const 关键字出现时重置为 0
// 中断影响：如果中间有非 iota 的声明，后续 iota 仍会递增但可能失去关联性
const (
	SEX GoMessageType = iota
	GENDER
)

// 检查值是否在定义的常量范围内
func (g GoMessageType) IsValid() bool {
	switch g {
	case SEX, GENDER:
		return true
	default:
		return false
	}
}
